home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Magazin: Amiga-CD 1995 October
/
Amiga-CD 1995 #10.iso
/
amiga-magazin
/
farbdithering
/
listing1
< prev
next >
Wrap
Text File
|
1995-08-30
|
791b
|
27 lines
void DitherMatrixBinary(Picture *Pic,Matrix *Matr)
{ LONG x,y,t,v,index,pixel;
for(y = 0 ; y < Pic -> Height ; y++)
{ for(x = 0 ; x < Pic -> Width ; x++)
{
// Position des Pixels bestimmen
index = x + y * Pic -> Width;
// Helligkeitswert berechnen (0 = Minimum, 255 = Maximum)
v = (Pic -> Red[index] + Pic -> Green[index] +
Pic -> Blue[index]) / 3;
// Den zugehörigen Schwellwert der Matrix entnehmen
t = Matr -> Rows[y % Matr -> Width][x % Matr -> Height];
// Ist die Helligkeit kleiner als der Schwellwert, wird
// ein schwarzes Pixel erzeugt, sonst ein weißes
if (v < t) pixel = 0;
else pixel = 255;
// Das Pixel wird gesetzt
SetAPen(RPort,pixel); WritePixel(RPort,x,y);
}
}
}